import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:photo_view/photo_view.dart';
import 'package:xbaistack/router.dart';

// 不了解【统一路由】的话，把后面的 "with RouterBridge<String>" 删掉就可以了
class PictureViewPage extends StatelessWidget with RouterBridge<String> {
  const PictureViewPage({super.key});

  @override
  Widget build(BuildContext context) {
    // 【统一路由】那一期的写法
    final image = argumentOf(context);
    // 或者你也可以按原始的方式去屑
    // final image = ModalRoute.of(context)?.settings.arguments as String;
    return Scaffold(
      // 透明导航栏（文字白色，左侧一个“×”关闭按钮）
      appBar: AppBar(
        shape: const Border(),
        leading: const CloseButton(),
        foregroundColor: Colors.white,
        backgroundColor: Colors.transparent,
      ),
      // 黑色背景
      backgroundColor: Colors.black,
      // 内容延生至导航栏底部
      extendBodyBehindAppBar: true,
      // 核心内容 PhotoView 图片预览组件
      body: PhotoView(
        imageProvider: CachedNetworkImageProvider(image!), // 图片加载
        // imageProvider: NetworkImage(image!); // SDK 自带的
        heroAttributes: PhotoViewHeroAttributes(tag: image), // Hero 效果设置
      ),
    );
  }
}
